//package com.gpframework.module.controller.order;
//
//import cn.hutool.core.convert.Convert;
//import cn.hutool.core.lang.TypeReference;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.gpframework.common.core.controller.BaseController;
//import com.gpframework.common.core.domain.AjaxResult;
//import com.gpframework.common.core.page.TableDataInfo;
//import com.gpframework.common.enums.YesNoEnum;
//import com.gpframework.common.utils.DateUtils;
//import com.gpframework.module.order.domain.GpDestinationNoLog;
//import com.gpframework.module.order.domain.req.GpDestinationNoLogAdd;
//import com.gpframework.module.order.domain.req.GpDestinationNoLogReq;
//import com.gpframework.module.order.domain.req.GpDestinationNoLogUpdate;
//import com.gpframework.module.order.domain.vo.GpDestinationNoLogVo;
//import com.gpframework.module.order.service.IGpDestinationNoLogService;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.RequiredArgsConstructor;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import javax.validation.Valid;
//import java.util.Arrays;
//import java.util.Date;
//import java.util.List;
///**
// * @ClassName GpDestinationNoLogController
// * @Author gpframework
// * @Date 2023-08-28
// * @Version 1.0.0
// * @Description 车次发车记录Controller 接口类
// */
//@Validated
//@Api(tags = "车次发车记录")
//@RequiredArgsConstructor(onConstructor_ = @Autowired)
//@RestController
//@RequestMapping("/order/destinationNoLog" )
//public class GpDestinationNoLogController extends BaseController {
//
//
//
//    private final IGpDestinationNoLogService iGpDestinationNoLogService;
//
// /**
//  * @Description 分页
//  * @Author gpframework
//  * @Date 2023-08-28
//  * @Param gpDestinationNoLog
//  * @Return TableDataInfo
// */
//    @ApiOperation("列表")
//    @GetMapping("/list")
//    public TableDataInfo<GpDestinationNoLogVo> list(GpDestinationNoLogReq gpDestinationNoLogReq)
//    {
//        startPage();
//        QueryWrapper<GpDestinationNoLog> lqw = new QueryWrapper<GpDestinationNoLog>();
//        gpDestinationNoLogReq.generatorQuery(lqw,true);
//        lqw.orderByAsc("gp.status");
//        lqw.orderByDesc("gp.create_time");
//        List<GpDestinationNoLogVo> list = iGpDestinationNoLogService.listVo(lqw);
//        return getDataTable(list);
//    }
//
//    /**
//     * @Description 详情
//     * @Author gpframework
//     * @Date 2023-08-28
//     * @Param gpDestinationNoLog
//     * @Return AjaxResult
//     */
//    @ApiOperation("详情")
//    @GetMapping(value = "/{id}" )
//    public AjaxResult<GpDestinationNoLogVo> getInfo(@PathVariable("id" ) Long id) {
//        return AjaxResult.success(iGpDestinationNoLogService.getVoById(id));
//    }
//
//    /**
//     * @Description 新增（发车）
//     * @Author gpframework
//     * @Date 2023-08-28
//     * @Param gpDestinationNoLog
//     * @Return AjaxResult
//     */
//    @ApiOperation("新增（发车）")
//    @PostMapping
//    public AjaxResult add(@Valid @RequestBody GpDestinationNoLogAdd gpDestinationNoLogAdd) {
//        GpDestinationNoLog one = iGpDestinationNoLogService.getOne(new LambdaQueryWrapper<GpDestinationNoLog>()
//                .eq(GpDestinationNoLog::getDelStatus, YesNoEnum.NO.getKey())
//                .eq(GpDestinationNoLog::getDestinationNoId, gpDestinationNoLogAdd.getDestinationNoId())
//                .last("and date_format(departure_time, '%Y-%m-%d') = '" + DateUtils.dateTime(gpDestinationNoLogAdd.getDepartureTime()) + "' limit 1"));
//        if (one != null) {
//            return AjaxResult.error("该车次当天已发，请勿重复发车！");
//        }
//        gpDestinationNoLogAdd.setStatus("1");
//        GpDestinationNoLog gpDestinationNoLog = Convert.convert(new TypeReference<GpDestinationNoLog>() {}, gpDestinationNoLogAdd);
//        boolean save = iGpDestinationNoLogService.save(gpDestinationNoLog);
//        gpDestinationNoLog.setCreateBy(gpDestinationNoLogAdd.getCreateBy());
//        iGpDestinationNoLogService.updateById(gpDestinationNoLog);
//        return toAjax(save ? 1 : 0);
//    }
//
//    /**
//     * @Description 修改（到达）
//     * @Author gpframework
//     * @Date 2023-08-28
//     * @Param gpDestinationNoLog
//     * @Return AjaxResult
//     */
//    @ApiOperation("修改（到达）")
//    @PutMapping
//    public AjaxResult edit(@Valid @RequestBody GpDestinationNoLogUpdate gpDestinationNoLogUpdate) {
//        GpDestinationNoLog gpDestinationNoLog = Convert.convert(new TypeReference<GpDestinationNoLog>() {}, gpDestinationNoLogUpdate);
//        gpDestinationNoLog.setArrivalTime(new Date());
//        gpDestinationNoLog.setStatus("2");
//        return toAjax(iGpDestinationNoLogService.updateById(gpDestinationNoLog) ? 1 : 0);
//    }
//
//    /**
//     * @Description 删除
//     * @Author gpframework
//     * @Date 2023-08-28
//     * @Param gpDestinationNoLog
//     * @Return AjaxResult
//     */
//    @ApiOperation("删除")
//    @DeleteMapping("/{ids}" )
//    public AjaxResult remove(@PathVariable Long[] ids) {
//        return toAjax(iGpDestinationNoLogService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
//    }
//}
